{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Debug Driver Models in Urban POMDP"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "┌ Info: Recompiling stale cache file /mnt/c/Users/Maxime/wsl/.julia/compiled/v1.0/AutomotivePOMDPs/L1lsd.ji for AutomotivePOMDPs [dca8afc0-c686-11e8-0934-712707da73aa]\n",
      "└ @ Base loading.jl:1184\n"
     ]
    }
   ],
   "source": [
    "using Revise\n",
    "using Random\n",
    "using POMDPs\n",
    "using POMDPModelTools\n",
    "using POMDPPolicies\n",
    "using BeliefUpdaters\n",
    "using POMDPSimulators\n",
    "using AutomotiveDrivingModels\n",
    "using AutomotivePOMDPs\n",
    "using AutomotiveSensors\n",
    "using AutoViz\n",
    "using Reel"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "rng = MersenneTwister(1);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Environment"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "params = UrbanParams(nlanes_main=1,\n",
    "                     crosswalk_pos =[VecSE2(6, 0., pi/2), VecSE2(-6, 0., pi/2), VecSE2(0., -5., 0.)],\n",
    "                     crosswalk_length =  [14.0, 14., 14.0],\n",
    "                     crosswalk_width = [4.0, 4.0, 3.1],\n",
    "                     stop_line = 22.0)\n",
    "env = UrbanEnv(params=params);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "pomdp = UrbanPOMDP(env=env,\n",
    "                   sensor = PerfectSensor(),\n",
    "                   ego_goal = LaneTag(2, 1),\n",
    "                   max_cars=5, \n",
    "                   max_peds=5, \n",
    "                   car_birth=0.5, \n",
    "                   ped_birth=0.5, \n",
    "                   max_obstacles=0, # no fixed obstacles\n",
    "                   ego_start=20,\n",
    "                   ΔT=0.1);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Simulation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "function POMDPModelTools.generate_sori(p::UrbanPOMDP, s::UrbanState, a::UrbanAction, rng::AbstractRNG)\n",
    "    return generate_sor(p, s, a, rng)..., deepcopy(p.models)\n",
    "end"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "veh 2 | clogged false | passed false | engaged true | stop false| right of way false\n",
      "veh 3 | clogged false | passed true | engaged true | stop false| right of way true\n",
      "veh 4 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 2 | clogged false | passed false | engaged true | stop false| right of way false\n",
      "veh 3 | clogged false | passed true | engaged true | stop false| right of way true\n",
      "veh 4 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 2 | clogged false | passed false | engaged true | stop false| right of way false\n",
      "veh 3 | clogged false | passed true | engaged true | stop false| right of way true\n",
      "veh 4 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 2 | clogged false | passed false | engaged true | stop false| right of way false\n",
      "veh 3 | clogged false | passed true | engaged true | stop false| right of way true\n",
      "veh 4 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 2 | clogged false | passed false | engaged true | stop false| right of way false\n",
      "veh 3 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 4 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 2 | clogged false | passed true | engaged true | stop false| right of way false\n",
      "veh 3 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 4 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 2 | clogged false | passed true | engaged true | stop false| right of way false\n",
      "veh 3 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 4 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 2 | clogged false | passed true | engaged true | stop false| right of way false\n",
      "veh 3 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 4 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 2 | clogged false | passed true | engaged true | stop true| right of way false\n",
      "veh 3 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 4 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 2 | clogged false | passed true | engaged true | stop true| right of way false\n",
      "veh 3 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 4 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 2 | clogged false | passed true | engaged true | stop true| right of way false\n",
      "veh 3 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 4 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 2 | clogged false | passed true | engaged true | stop true| right of way false\n",
      "veh 3 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 4 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 2 | clogged false | passed true | engaged true | stop true| right of way false\n",
      "veh 3 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 4 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 2 | clogged false | passed true | engaged true | stop true| right of way false\n",
      "veh 3 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 4 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 2 | clogged false | passed true | engaged true | stop true| right of way false\n",
      "veh 3 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 4 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 2 | clogged false | passed true | engaged true | stop true| right of way false\n",
      "veh 3 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 4 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 2 | clogged false | passed true | engaged true | stop true| right of way false\n",
      "veh 3 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 4 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 2 | clogged false | passed true | engaged true | stop true| right of way false\n",
      "veh 3 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 4 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 2 | clogged false | passed true | engaged true | stop true| right of way false\n",
      "veh 3 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 4 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 2 | clogged false | passed true | engaged true | stop true| right of way false\n",
      "veh 3 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 4 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 2 | clogged false | passed true | engaged true | stop true| right of way false\n",
      "veh 3 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 4 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 2 | clogged false | passed true | engaged true | stop true| right of way false\n",
      "veh 3 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 4 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 3 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 4 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 3 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 4 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 3 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 4 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 3 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 4 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 3 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 4 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 3 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 4 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 3 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 4 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 3 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 4 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 3 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 4 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 3 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 3 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 3 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 3 | clogged false | passed true | engaged false | stop false| right of way true\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop true| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed true | engaged true | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged true | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged true | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged true | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged true | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged true | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged true | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged true | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged true | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged true | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged true | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged true | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged true | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged true | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged true | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged true | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged true | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged true | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged true | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged true | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged true | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged true | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged false | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged false | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged false | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged false | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged false | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop true| right of way true\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged false | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged false | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged false | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged false | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged false | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged false | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged false | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged false | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged false | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged false | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged false | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged false | stop false| right of way false\n",
      "veh 5 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged false | stop false| right of way false\n",
      "veh 5 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged false | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged false | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged false | stop false| right of way false\n",
      "veh 5 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged false | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged false | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged false | stop false| right of way false\n",
      "veh 5 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged false | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged false | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged false | stop false| right of way false\n",
      "veh 5 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged false | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged false | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged false | stop false| right of way false\n",
      "veh 5 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged false | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged false | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged false | stop false| right of way false\n",
      "veh 5 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged false | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged false | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged false | stop false| right of way false\n",
      "veh 5 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged false | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged false | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged false | stop false| right of way false\n",
      "veh 5 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged false | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged false | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged false | stop false| right of way false\n",
      "veh 5 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged false | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged false | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged false | stop false| right of way false\n",
      "veh 5 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged false | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged false | passed false | engaged false | stop false| right of way false\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "veh 2 | clogged false | passed true | engaged false | stop false| right of way false\n",
      "veh 5 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged false | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged false | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged false | stop false| right of way false\n",
      "veh 5 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged false | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged false | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged false | stop false| right of way false\n",
      "veh 5 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged false | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged false | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged false | stop false| right of way false\n",
      "veh 5 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged false | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged false | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged false | stop false| right of way false\n",
      "veh 5 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged false | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged false | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged false | stop false| right of way false\n",
      "veh 5 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged false | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged false | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged false | stop false| right of way false\n",
      "veh 5 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged false | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged false | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged false | stop false| right of way false\n",
      "veh 5 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged false | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged false | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged false | stop false| right of way false\n",
      "veh 5 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged false | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged false | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged false | stop false| right of way false\n",
      "veh 5 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged false | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged false | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged false | stop false| right of way false\n",
      "veh 5 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged false | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged false | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed true | engaged false | stop false| right of way false\n",
      "veh 5 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged false | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged false | passed false | engaged false | stop false| right of way false\n",
      "veh 5 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged false | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged false | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed false | engaged false | stop false| right of way true\n",
      "veh 5 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged false | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged false | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed false | engaged false | stop false| right of way true\n",
      "veh 5 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged false | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged false | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed false | engaged false | stop false| right of way true\n",
      "veh 5 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged false | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged false | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed false | engaged false | stop false| right of way true\n",
      "veh 5 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged false | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged false | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed false | engaged false | stop false| right of way true\n",
      "veh 5 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged false | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged false | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed false | engaged false | stop false| right of way true\n",
      "veh 5 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged false | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged false | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed false | engaged false | stop false| right of way true\n",
      "veh 5 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged false | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged false | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed false | engaged false | stop false| right of way true\n",
      "veh 5 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged false | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged false | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed false | engaged false | stop false| right of way true\n",
      "veh 5 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged false | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged false | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged false | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged false | passed false | engaged false | stop false| right of way true\n",
      "veh 5 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 5 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 5 | clogged true | passed false | engaged false | stop true| right of way true\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "veh 6 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 5 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 5 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 5 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 5 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 5 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 6 | clogged true | passed false | engaged false | stop true| right of way true\n",
      "veh 4 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "veh 3 | clogged true | passed false | engaged false | stop false| right of way false\n",
      "veh 2 | clogged true | passed false | engaged false | stop false| right of way true\n",
      "  1.113485 seconds (616.92 k allocations: 35.666 MiB, 2.87% gc time)\n"
     ]
    }
   ],
   "source": [
    "still_policy = FunctionPolicy(s -> UrbanAction(0.))\n",
    "up = NothingUpdater()\n",
    "s0 = initialstate(pomdp, rng)\n",
    "models0 = deepcopy(pomdp.models)\n",
    "hr = HistoryRecorder(rng=rng, max_steps=200)\n",
    "@time hist = simulate(hr, pomdp, still_policy, up, nothing, s0);\n",
    "insert!(hist.info_hist, 1, models0);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<video autoplay controls><source src=\"files/reel-10710556601494776586.webm?17940395030995298164\" type=\"video/webm\"></video>"
      ],
      "text/plain": [
       "Frames{MIME{Symbol(\"image/png\")}}(\"/tmp/tmpya25PF\", 0x00000000000000c9, 20.0, nothing)"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "duration, fps, render_rec = animate_scenes(hist.state_hist, hist.info_hist, pomdp.env, overlays=SceneOverlay[IDOverlay()], sim_dt=pomdp.ΔT, cam = StaticCamera(VecE2(0., -8.), 14.0))\n",
    "speed_factor = 2\n",
    "film = roll(render_rec, fps = speed_factor*fps, duration = duration/speed_factor)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Debugging"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "TTCIntersectionDriver\n",
       "  a: LonAccelDirection\n",
       "  navigator: RouteFollowingIDM\n",
       "  intersection: Array{Lane}((2,))\n",
       "  intersection_pos: VecSE2{Float64}\n",
       "  ttc_threshold: Float64 3.0\n",
       "  horizon: Float64 20.0\n",
       "  stop_delta: Float64 4.0\n",
       "  accel_tol: Float64 0.0\n",
       "  priorities: Dict{Tuple{LaneTag,LaneTag},Bool}\n",
       "  priority: Bool false\n",
       "  stop: Bool false\n"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "step = 180\n",
    "s = hist.state_hist[step]\n",
    "vehid = 2\n",
    "veh = s[findfirst(vehid, s)]\n",
    "m = hist.info_hist[step][vehid]\n",
    "cwid = 2\n",
    "cwm = m.crosswalk_drivers[cwid]\n",
    "intm = m.intersection_driver"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "veh 2 | clogged true | passed false | engaged true | stop false| right of way true\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "TTCIntersectionDriver\n",
       "  a: LonAccelDirection\n",
       "  navigator: RouteFollowingIDM\n",
       "  intersection: Array{Lane}((2,))\n",
       "  intersection_pos: VecSE2{Float64}\n",
       "  ttc_threshold: Float64 3.0\n",
       "  horizon: Float64 20.0\n",
       "  stop_delta: Float64 4.0\n",
       "  accel_tol: Float64 0.0\n",
       "  priorities: Dict{Tuple{LaneTag,LaneTag},Bool}\n",
       "  priority: Bool false\n",
       "  stop: Bool false\n"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "AutomotivePOMDPs.observe!(deepcopy(intm), s, env.roadway, vehid)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "4.914509131134061"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "veh = s[findfirst(3, s)]\n",
    "sqrt(normsquared(VecE2(intm.intersection_pos - veh.state.posG)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 106,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "is clogged: true\n",
      "ttc\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "0.3551011560345412"
      ]
     },
     "execution_count": 106,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "egoid = vehid\n",
    "scene = s\n",
    "model = deepcopy(intm)\n",
    "roadway = env.roadway\n",
    "ego = scene[findfirst(egoid, scene)]\n",
    "AutomotiveDrivingModels.observe!(model.navigator, scene, roadway, egoid) # set the direction\n",
    "dir = model.navigator.dir\n",
    "a_lon =0.\n",
    "a_lon_idm = model.navigator.a\n",
    "passed = AutomotivePOMDPs.has_passed(model, scene, roadway, egoid)\n",
    "is_engaged = AutomotivePOMDPs.engaged(model, scene, roadway, egoid)\n",
    "right_of_way = model.priorities[(model.navigator.route[1].tag,model.navigator.route[end].tag)]\n",
    "is_clogged = AutomotivePOMDPs.is_intersection_clogged(model, scene, roadway, egoid)\n",
    "println(\"is clogged: $is_clogged\")\n",
    "ttc = AutomotivePOMDPs.ttc_check(model, scene, roadway, egoid)\n",
    "println(\"ttc\")\n",
    "model.priority = ttc || right_of_way\n",
    "if !model.stop\n",
    "    AutomotivePOMDPs.update_stop!(model, ego, roadway)\n",
    "end\n",
    "\n",
    "if isempty(model.intersection) || passed \n",
    "    a_lon = a_lon_idm \n",
    "elseif !passed \n",
    "    if right_of_way\n",
    "        if is_clogged && !passed && is_engaged && !isapprox(ego.state.v, 0.)\n",
    "            println(\"Vehicle $egoid : emergency break\")\n",
    "            a_lon = -model.navigator.d_max\n",
    "        else\n",
    "            a_lon = a_lon_idm\n",
    "        end\n",
    "    else # left turn\n",
    "        if !ttc && !is_engaged  # before left turn\n",
    "            a_lon = min(a_lon_idm, stop_at_end(model, ego, roadway))\n",
    "        elseif  is_clogged && !passed && is_engaged && !isapprox(ego.state.v, 0.)\n",
    "            # println(\"Vehicle $egoid : emergency break\")\n",
    "            a_lon = -model.navigator.d_max\n",
    "        elseif ttc \n",
    "            a_lon = a_lon_idm \n",
    "        end\n",
    "    end\n",
    "end\n",
    "a_lon"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "4 methods for generic function <b>get_neighbor_fore_along_lane</b>:<ul><li> get_neighbor_fore_along_lane<i>{S<:VehicleState, D<:Union{BicycleModel, VehicleDef}, I}</i>(scene::<b>Frame{Entity{S,D,I}}</b>, roadway::<b>Roadway</b>, tag_start::<b>LaneTag</b>, s_base::<b>Float64</b>; <i>max_distance_fore, index_to_ignore</i>) in AutomotiveDrivingModels at <a href=\"file:///mnt/c/Users/Maxime/wsl/.julia/packages/AutomotiveDrivingModels/V7hw8/src/2d/vehicles/scenes.jl\" target=\"_blank\">/mnt/c/Users/Maxime/wsl/.julia/packages/AutomotiveDrivingModels/V7hw8/src/2d/vehicles/scenes.jl:190</a></li> <li> get_neighbor_fore_along_lane<i>{S<:VehicleState, D<:Union{BicycleModel, VehicleDef}, I}</i>(scene::<b>Frame{Entity{S,D,I}}</b>, roadway::<b>Roadway</b>, tag_start::<b>LaneTag</b>, s_base::<b>Float64</b>, targetpoint_primary::<b>VehicleTargetPoint</b>, targetpoint_valid::<b>VehicleTargetPoint</b>; <i>max_distance_fore, index_to_ignore</i>) in AutomotiveDrivingModels at <a href=\"file:///mnt/c/Users/Maxime/wsl/.julia/packages/AutomotiveDrivingModels/V7hw8/src/2d/vehicles/scenes.jl\" target=\"_blank\">/mnt/c/Users/Maxime/wsl/.julia/packages/AutomotiveDrivingModels/V7hw8/src/2d/vehicles/scenes.jl:49</a></li> <li> get_neighbor_fore_along_lane<i>{S<:VehicleState, D<:Union{BicycleModel, VehicleDef}, I}</i>(scene::<b>Frame{Entity{S,D,I}}</b>, vehicle_index::<b>Int64</b>, roadway::<b>Roadway</b>; <i>max_distance_fore</i>) in AutomotiveDrivingModels at <a href=\"file:///mnt/c/Users/Maxime/wsl/.julia/packages/AutomotiveDrivingModels/V7hw8/src/2d/vehicles/scenes.jl\" target=\"_blank\">/mnt/c/Users/Maxime/wsl/.julia/packages/AutomotiveDrivingModels/V7hw8/src/2d/vehicles/scenes.jl:199</a></li> <li> get_neighbor_fore_along_lane<i>{S<:VehicleState, D<:Union{BicycleModel, VehicleDef}, I}</i>(scene::<b>Frame{Entity{S,D,I}}</b>, vehicle_index::<b>Int64</b>, roadway::<b>Roadway</b>, targetpoint_ego::<b>VehicleTargetPoint</b>, targetpoint_primary::<b>VehicleTargetPoint</b>, targetpoint_valid::<b>VehicleTargetPoint</b>; <i>max_distance_fore</i>) in AutomotiveDrivingModels at <a href=\"file:///mnt/c/Users/Maxime/wsl/.julia/packages/AutomotiveDrivingModels/V7hw8/src/2d/vehicles/scenes.jl\" target=\"_blank\">/mnt/c/Users/Maxime/wsl/.julia/packages/AutomotiveDrivingModels/V7hw8/src/2d/vehicles/scenes.jl:116</a></li> </ul>"
      ],
      "text/plain": [
       "# 4 methods for generic function \"get_neighbor_fore_along_lane\":\n",
       "[1] get_neighbor_fore_along_lane(scene::Frame{Entity{S,D,I}}, roadway::Roadway, tag_start::LaneTag, s_base::Float64; max_distance_fore, index_to_ignore) where {S<:VehicleState, D<:Union{BicycleModel, VehicleDef}, I} in AutomotiveDrivingModels at /mnt/c/Users/Maxime/wsl/.julia/packages/AutomotiveDrivingModels/V7hw8/src/2d/vehicles/scenes.jl:190\n",
       "[2] get_neighbor_fore_along_lane(scene::Frame{Entity{S,D,I}}, roadway::Roadway, tag_start::LaneTag, s_base::Float64, targetpoint_primary::VehicleTargetPoint, targetpoint_valid::VehicleTargetPoint; max_distance_fore, index_to_ignore) where {S<:VehicleState, D<:Union{BicycleModel, VehicleDef}, I} in AutomotiveDrivingModels at /mnt/c/Users/Maxime/wsl/.julia/packages/AutomotiveDrivingModels/V7hw8/src/2d/vehicles/scenes.jl:49\n",
       "[3] get_neighbor_fore_along_lane(scene::Frame{Entity{S,D,I}}, vehicle_index::Int64, roadway::Roadway; max_distance_fore) where {S<:VehicleState, D<:Union{BicycleModel, VehicleDef}, I} in AutomotiveDrivingModels at /mnt/c/Users/Maxime/wsl/.julia/packages/AutomotiveDrivingModels/V7hw8/src/2d/vehicles/scenes.jl:199\n",
       "[4] get_neighbor_fore_along_lane(scene::Frame{Entity{S,D,I}}, vehicle_index::Int64, roadway::Roadway, targetpoint_ego::VehicleTargetPoint, targetpoint_primary::VehicleTargetPoint, targetpoint_valid::VehicleTargetPoint; max_distance_fore) where {S<:VehicleState, D<:Union{BicycleModel, VehicleDef}, I} in AutomotiveDrivingModels at /mnt/c/Users/Maxime/wsl/.julia/packages/AutomotiveDrivingModels/V7hw8/src/2d/vehicles/scenes.jl:116"
      ]
     },
     "execution_count": 71,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "methods(get_neighbor_fore_along_lane)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 111,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      " ID 4 stop true priority false\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "LonAccelDirection(2.0, 1)"
      ]
     },
     "execution_count": 111,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mm = deepcopy(m)\n",
    "observe!(mm, s, env.roadway, vehid)\n",
    "mm.a"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 105,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LonAccelDirection(-0.2887047285775486, 1)"
      ]
     },
     "execution_count": 105,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "intm.priorities[(intm.navigator.route[1].tag,intm.navigator.route[end].tag)]\n",
    "intm.a"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 106,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "true"
      ]
     },
     "execution_count": 106,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "AutomotivePOMDPs.has_passed(intm, s, env.roadway, vehid)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 110,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "true"
      ]
     },
     "execution_count": 110,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "AutomotivePOMDPs.engaged(intm, s, env.roadway, vehid)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 107,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LonAccelDirection(-0.2887047285775486, 1)"
      ]
     },
     "execution_count": 107,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "AutomotivePOMDPs.has_passed(cwm, veh, env.roadway)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 94,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "false"
      ]
     },
     "execution_count": 94,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "AutomotivePOMDPs.ttc_check(intm, s, env.roadway, vehid)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.9374590063330575"
      ]
     },
     "execution_count": 55,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "AutomotivePOMDPs.stop_at_end(intm, veh, env.roadway)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2.0"
      ]
     },
     "execution_count": 56,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "intm.navigator.a"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 253,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "true"
      ]
     },
     "execution_count": 253,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "veh2 = s[findfirst(5, s)]\n",
    "AutomotivePOMDPs.is_behind(veh, veh2, env.roadway)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 251,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Frenet(RoadIndex({0, 0.000000}, {10, 1}), 0.000, -0.000, 0.000)"
      ]
     },
     "execution_count": 251,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lane1 = get_lane(env.roadway, veh)\n",
    "# project veh2 on lane2 \n",
    "veh2_l1 = Frenet(veh2.state.posG, lane1, env.roadway)\n",
    "Frenet(proj(veh2.state.posG, lane1, env.roadway, move_along_curves=false), env.roadway)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 222,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(:ind, :Δs)"
      ]
     },
     "execution_count": 222,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "get_neighbor_rear_along_lane(s, vehid, env.roadway)\n",
    "fieldnames(NeighborLongitudinalResult)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 216,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "4 methods for generic function <b>get_neighbor_rear_along_lane</b>:<ul><li> get_neighbor_rear_along_lane<i>{S<:VehicleState, D<:Union{BicycleModel, VehicleDef}, I}</i>(scene::<b>Frame{Entity{S,D,I}}</b>, roadway::<b>Roadway</b>, tag_start::<b>LaneTag</b>, s_base::<b>Float64</b>; <i>max_distance_rear, index_to_ignore</i>) in AutomotiveDrivingModels at <a href=\"https://github.com/sisl/AutomotiveDrivingModels.jl/tree/5d909d270d905120c24453cb0440510eabf05e78//src/2d/vehicles/scenes.jl#L380\" target=\"_blank\">/mnt/c/Users/Maxime/wsl/.julia/dev/AutomotiveDrivingModels/src/2d/vehicles/scenes.jl:380</a></li> <li> get_neighbor_rear_along_lane<i>{S<:VehicleState, D<:Union{BicycleModel, VehicleDef}, I}</i>(scene::<b>Frame{Entity{S,D,I}}</b>, roadway::<b>Roadway</b>, tag_start::<b>LaneTag</b>, s_base::<b>Float64</b>, targetpoint_primary::<b>VehicleTargetPoint</b>, targetpoint_valid::<b>VehicleTargetPoint</b>; <i>max_distance_rear, index_to_ignore</i>) in AutomotiveDrivingModels at <a href=\"https://github.com/sisl/AutomotiveDrivingModels.jl/tree/5d909d270d905120c24453cb0440510eabf05e78//src/2d/vehicles/scenes.jl#L231\" target=\"_blank\">/mnt/c/Users/Maxime/wsl/.julia/dev/AutomotiveDrivingModels/src/2d/vehicles/scenes.jl:231</a></li> <li> get_neighbor_rear_along_lane<i>{S<:VehicleState, D<:Union{BicycleModel, VehicleDef}, I}</i>(scene::<b>Frame{Entity{S,D,I}}</b>, vehicle_index::<b>Int64</b>, roadway::<b>Roadway</b>; <i>max_distance_rear</i>) in AutomotiveDrivingModels at <a href=\"https://github.com/sisl/AutomotiveDrivingModels.jl/tree/5d909d270d905120c24453cb0440510eabf05e78//src/2d/vehicles/scenes.jl#L389\" target=\"_blank\">/mnt/c/Users/Maxime/wsl/.julia/dev/AutomotiveDrivingModels/src/2d/vehicles/scenes.jl:389</a></li> <li> get_neighbor_rear_along_lane<i>{S<:VehicleState, D<:Union{BicycleModel, VehicleDef}, I}</i>(scene::<b>Frame{Entity{S,D,I}}</b>, vehicle_index::<b>Int64</b>, roadway::<b>Roadway</b>, targetpoint_ego::<b>VehicleTargetPoint</b>, targetpoint_primary::<b>VehicleTargetPoint</b>, targetpoint_valid::<b>VehicleTargetPoint</b>; <i>max_distance_rear</i>) in AutomotiveDrivingModels at <a href=\"https://github.com/sisl/AutomotiveDrivingModels.jl/tree/5d909d270d905120c24453cb0440510eabf05e78//src/2d/vehicles/scenes.jl#L306\" target=\"_blank\">/mnt/c/Users/Maxime/wsl/.julia/dev/AutomotiveDrivingModels/src/2d/vehicles/scenes.jl:306</a></li> </ul>"
      ],
      "text/plain": [
       "# 4 methods for generic function \"get_neighbor_rear_along_lane\":\n",
       "[1] get_neighbor_rear_along_lane(scene::Frame{Entity{S,D,I}}, roadway::Roadway, tag_start::LaneTag, s_base::Float64; max_distance_rear, index_to_ignore) where {S<:VehicleState, D<:Union{BicycleModel, VehicleDef}, I} in AutomotiveDrivingModels at /mnt/c/Users/Maxime/wsl/.julia/dev/AutomotiveDrivingModels/src/2d/vehicles/scenes.jl:380\n",
       "[2] get_neighbor_rear_along_lane(scene::Frame{Entity{S,D,I}}, roadway::Roadway, tag_start::LaneTag, s_base::Float64, targetpoint_primary::VehicleTargetPoint, targetpoint_valid::VehicleTargetPoint; max_distance_rear, index_to_ignore) where {S<:VehicleState, D<:Union{BicycleModel, VehicleDef}, I} in AutomotiveDrivingModels at /mnt/c/Users/Maxime/wsl/.julia/dev/AutomotiveDrivingModels/src/2d/vehicles/scenes.jl:231\n",
       "[3] get_neighbor_rear_along_lane(scene::Frame{Entity{S,D,I}}, vehicle_index::Int64, roadway::Roadway; max_distance_rear) where {S<:VehicleState, D<:Union{BicycleModel, VehicleDef}, I} in AutomotiveDrivingModels at /mnt/c/Users/Maxime/wsl/.julia/dev/AutomotiveDrivingModels/src/2d/vehicles/scenes.jl:389\n",
       "[4] get_neighbor_rear_along_lane(scene::Frame{Entity{S,D,I}}, vehicle_index::Int64, roadway::Roadway, targetpoint_ego::VehicleTargetPoint, targetpoint_primary::VehicleTargetPoint, targetpoint_valid::VehicleTargetPoint; max_distance_rear) where {S<:VehicleState, D<:Union{BicycleModel, VehicleDef}, I} in AutomotiveDrivingModels at /mnt/c/Users/Maxime/wsl/.julia/dev/AutomotiveDrivingModels/src/2d/vehicles/scenes.jl:306"
      ]
     },
     "execution_count": 216,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "methods(get_neighbor_rear_along_lane)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 150,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(-1.497428808846675, LonAccelDirection(-1.497428808846675, 1), 0.0)"
      ]
     },
     "execution_count": 150,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cwm.wait_list\n",
    "cwm.a\n",
    "\n",
    "# AutomotivePOMDPs.update_priority!(cwm, s, env.roadway, vehid)\n",
    "cwm.a\n",
    "dist_to_cw = AutomotivePOMDPs.get_distance_to_crosswalk(cwm, veh, env.roadway, -cwm.stop_delta)\n",
    "# AutomotivePOMDPs.stop_at_dist(cwm, veh, dist_to_cw)\n",
    "cwm.navigator.a, cwm.a, veh.state.v"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [],
   "source": [
    "using Parameters\n",
    "@with_kw struct BlinkerOverlay <: SceneOverlay\n",
    "    on::Bool = false \n",
    "    right::Bool = true\n",
    "    veh::Vehicle = Vehicle(VehicleState(), VehicleDef(), 0)\n",
    "    color::Colorant = colorant\"0xFFEF00FF\" # yellow \n",
    "    size::Float64 = 0.3\n",
    "end\n",
    "\n",
    "function AutoViz.render!(rendermodel::RenderModel, overlay::BlinkerOverlay, scene::Scene, roadway::Roadway)\n",
    "    if !overlay.on\n",
    "        return nothing \n",
    "    end\n",
    "    if overlay.right \n",
    "        pos = get_front(overlay.veh) + polar(overlay.veh.def.width/2, overlay.veh.state.posG.θ - pi/2)\n",
    "    else\n",
    "        pos = get_front(overlay.veh) + polar(overlay.veh.def.width/2, overlay.veh.state.posG.θ + pi/2)\n",
    "    end\n",
    "    add_instruction!(rendermodel, render_circle, (pos.x, pos.y, overlay.size, overlay.color))    \n",
    "end"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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QLgDAEAEhDsAAERAuAMAQASEOwAAREC4AwBABIQ7AABEQLgDAEAEhDsAAERAuAMAQASEOwAAREC4AwBABIQ7AABEQLgDAEAEhDsAAERAuAMAQASEOwAAREC4AwBABIQ7AABEQLgDAEAEhDsAAERAuAMAQASEOwAAREC4AwBABIQ7AABEQLgDAEAEhDsAAERAuAMAQASEOwAAREC4AwBABIQ7AABEQLgDAEAEhDsAAERAuAMAQASEOwAAREC4AwBABIQ7AABEQLgDAEAEhDsAAERAuAMAQASEOwAAREC4AwBABIQ7AABEQLgDAEAEhDsAAERAuAMAQASEOwAAREC4AwBABIQ7AABEQLgDAEAEhDsAAERAuAMAQASEOwAAREC4AwBABIQ7AABEQLgDAEAEhDsAAERAuAMAQASEOwAAREC4AwBABIQ7AABEQLgDAEAEhDsAAERAuAMAQASEOwAAREC4AwBABIQ7AABEQLgDAEAEhDsAAERAuAMAQASEOwAAREC4AwBABIQ7AABEQLgDAEAEhDsAAERAuAMAQASEOwAAREC4AwBABIQ7AABEQLgDAEAEhDsAAERAuAMAQASEOwAAREC4AwBABIQ7AABEQLgDAEAEhDsAAERAuAMAQASEOwAAREC4AwBABIQ7AABEQLgDAEAEhDsAAERAuAMAQASEOwAAREC4AwBABIQ7AABEQLgDAEAEhDsAAERAuAMAQASEOwAAREC4AwBABIQ7AABEQLgDAEAEhDsAAERAuAMAQASEOwAAREC4AwBABIQ7AABEQLgDAEAEhDsAAERAuAMAQASEOwAAREC4AwBABIQ7AABEQLgDAEAEhDsAAERAuAMAQASEOwAAREC4AwBABIQ7AABEQLgDAEAEhDsAAERAuAMAQASEOwAAREC4AwBABIQ7AABEQLgDAEAEhDsAAERAuAMAQASEOwAAREC4AwBABIQ7AABEQLgDAEAEhDsAAERAuAMAQASEOwAAREC4AwBABIQ7AABEQLgDAEAEhDsAAERAuAMAQASEOwAAREC4AwBABIQ7AABEQLgDAEAEhDsAAERAuAMAQASEOwAAREC4AwBABIQ7AABEQLgDAEAEhDsAAERAuAMAQASEOwAAREC4AwBABIQ7AABEQLgDAEAEhDsAAERAuAMAQASEOwAAREC4AwBABIQ7AABEQLgDAEAEhDsAAERAuAMAQASEOwAAREC4AwBABIQ7AABEQLgDAEAEhDsAAERAuAMAQASEOwAAREC4AwBABIQ7AABEQLgDAEAEhDsAAERAuAMAQASEOwAAREC4AwBABIQ7AABEQLgDAEAEhDsAAERAuAMAQASEOwAAREC4AwBABIQ7AABEQLgDAEAEhDsAAERAuAMAQASEOwAAREC4AwBABIQ7AABEQLgDAEAEhDsAAERAuAMAQASEOwAAREC4AwBABIQ7AABEQLgDAEAEhDsAAERAuAMAQASEOwAAREC4AwBABIQ7AABEQLgDAEAEhDsAAERAuAMAQASEOwAAREC4AwBABIQ7AABEQLgDAEAEhDsAAERAuAMAQASEOwAAREC4AwBABIQ7AABEQLgDAEAEhDsAAERAuAMAQASEOwAAREC4AwBABIQ7AABEQLgDAEAEhDsAAERAuAMAQASEOwAAREC4AwBABIQ7AABEQLgDAEAEhDsAAERAuAMAQASEOwAAREC4AwBABIQ7AABEQLgDAEAEhDsAAERAuAMAQASEOwAAROD/B6B/m0m+YWmmAAAAAElFTkSuQmCC",
      "text/plain": [
       "Cairo.CairoSurfaceBase{UInt32}(Ptr{Nothing} @0x000000000546cb40, 1000.0, 600.0)"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "scene = Scene()\n",
    "veh = hist.state_hist[1][3]\n",
    "push!(scene, veh)\n",
    "AutoViz.render(scene, env.roadway, SceneOverlay[BlinkerOverlay(on=true, right=false, veh=veh)], cam=FitToContentCamera(0.0))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "using Vec"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "search: \u001b[0m\u001b[1mp\u001b[22m\u001b[0m\u001b[1mo\u001b[22m\u001b[0m\u001b[1ml\u001b[22m\u001b[0m\u001b[1ma\u001b[22m\u001b[0m\u001b[1mr\u001b[22m get_\u001b[0m\u001b[1mp\u001b[22m\u001b[0m\u001b[1mo\u001b[22m\u001b[0m\u001b[1ml\u001b[22m\u001b[0m\u001b[1ma\u001b[22m\u001b[0m\u001b[1mr\u001b[22m_angle \u001b[0m\u001b[1mP\u001b[22m\u001b[0m\u001b[1mo\u001b[22m\u001b[0m\u001b[1ml\u001b[22micyWr\u001b[0m\u001b[1ma\u001b[22mppe\u001b[0m\u001b[1mr\u001b[22m \u001b[0m\u001b[1mP\u001b[22m\u001b[0m\u001b[1mO\u001b[22mMDPSimu\u001b[0m\u001b[1ml\u001b[22m\u001b[0m\u001b[1ma\u001b[22mto\u001b[0m\u001b[1mr\u001b[22ms\n",
      "\n"
     ]
    },
    {
     "data": {
      "text/markdown": [
       "No documentation found.\n",
       "\n",
       "`Vec.polar` is a `Function`.\n",
       "\n",
       "```\n",
       "# 2 methods for generic function \"polar\":\n",
       "[1] polar(r::Real, θ::Real) in Vec at /mnt/c/Users/Maxime/wsl/.julia/packages/Vec/IUi0p/src/vecE2.jl:13\n",
       "[2] polar(r::Real, ϕ::Real, θ::Real) in Vec at /mnt/c/Users/Maxime/wsl/.julia/packages/Vec/IUi0p/src/vecSE2.jl:19\n",
       "```\n"
      ],
      "text/plain": [
       "  No documentation found.\n",
       "\n",
       "  \u001b[36mVec.polar\u001b[39m is a \u001b[36mFunction\u001b[39m.\n",
       "\n",
       "\u001b[36m  # 2 methods for generic function \"polar\":\u001b[39m\n",
       "\u001b[36m  [1] polar(r::Real, θ::Real) in Vec at /mnt/c/Users/Maxime/wsl/.julia/packages/Vec/IUi0p/src/vecE2.jl:13\u001b[39m\n",
       "\u001b[36m  [2] polar(r::Real, ϕ::Real, θ::Real) in Vec at /mnt/c/Users/Maxime/wsl/.julia/packages/Vec/IUi0p/src/vecSE2.jl:19\u001b[39m"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "?polar"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Julia 1.0.0",
   "language": "julia",
   "name": "julia-1.0"
  },
  "language_info": {
   "file_extension": ".jl",
   "mimetype": "application/julia",
   "name": "julia",
   "version": "1.0.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
